<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>gui2py: Fichero Fuente gui/controls/canvas.py</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../edit.gif"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">gui2py
   &#160;<span id="projectnumber">0.9.3</span>
   </div>
   <div id="projectbrief">Interfaz de desarrollo de aplicaciones graficas</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generado por Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Buscar');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Página&#160;principal</span></a></li>
      <li><a href="../../namespaces.html"><span>Paquetes</span></a></li>
      <li><a href="../../annotated.html"><span>Clases</span></a></li>
      <li class="current"><a href="../../files.html"><span>Archivos</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../files.html"><span>Lista&#160;de&#160;archivos</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d7/d52/gui_2controls_2canvas_8py_source.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Todo</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Clases</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Archivos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Funciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Propiedades</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">canvas.py</div>  </div>
</div><!--header-->
<div class="contents">
<a href="../../d7/d52/gui_2controls_2canvas_8py.html">Ir a la documentación de este archivo.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">#!/usr/bin/python</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"># -*- coding: utf-8 -*-</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="stringliteral">&quot;gui2py&#39;s basic Image control (uses wx.StaticBitmap)&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;__author__ = <span class="stringliteral">&quot;Mariano Reingart (reingart@gmail.com)&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;__copyright__ = <span class="stringliteral">&quot;Copyright (C) 2014- Mariano Reingart&quot;</span>  <span class="comment"># where applicable</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"># Initial implementation was based on PythonCard&#39;s BitmapCanvas component, </span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"># but redesigned and overhauled a lot (specs renamed, events refactorized, etc.)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="keyword">import</span> wx</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">from</span> ..event <span class="keyword">import</span> FormEvent</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="keyword">from</span> ..component <span class="keyword">import</span> Control, Spec, EventSpec, InitSpec, StyleSpec</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">from</span> ..graphic <span class="keyword">import</span> Bitmap</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">from</span> .. <span class="keyword">import</span> images</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keywordflow">try</span>:</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keyword">import</span> Image</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment"># necessary to avoid name collision with Image class</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="keyword">from</span> Image <span class="keyword">import</span> fromstring</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    PIL_FOUND = <span class="keyword">True</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keywordflow">except</span> ImportError:</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    PIL_FOUND = <span class="keyword">False</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keywordflow">try</span>:</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">from</span> Numeric <span class="keyword">import</span> ArrayType</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    NUMERIC_FOUND = <span class="keyword">True</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keywordflow">except</span> ImportError:</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    NUMERIC_FOUND = <span class="keyword">False</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"># are NOR and NAND descriptions reversed?!</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"># double-check wxWidgets docs and/or wxPython source again</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;LogicalCopyModes = {</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="stringliteral">&quot;AND&quot;</span>           : wx.AND,           <span class="comment"># src AND dst</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="stringliteral">&quot;AND_INVERT&quot;</span>    : wx.AND_INVERT,    <span class="comment"># (NOT src) AND dst</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="stringliteral">&quot;AND_REVERSE&quot;</span>   : wx.AND_REVERSE,   <span class="comment"># src AND (NOT dst)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="stringliteral">&quot;CLEAR&quot;</span>         : wx.CLEAR,         <span class="comment"># 0</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="stringliteral">&quot;COPY&quot;</span>          : wx.COPY,          <span class="comment"># src</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="stringliteral">&quot;EQUIV&quot;</span>         : wx.EQUIV,         <span class="comment"># (NOT src) XOR dst</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="stringliteral">&quot;INVERT&quot;</span>        : wx.INVERT,        <span class="comment"># NOT dst</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="stringliteral">&quot;NAND&quot;</span>          : wx.NAND,          <span class="comment"># (NOT src) OR (NOT dst)</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="stringliteral">&quot;NOR&quot;</span>           : wx.NOR,           <span class="comment"># (NOT src) AND (NOT dst)</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="stringliteral">&quot;NO_OP&quot;</span>         : wx.NO_OP,         <span class="comment"># dst</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="stringliteral">&quot;OR&quot;</span>            : wx.OR,            <span class="comment"># src OR dst</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="stringliteral">&quot;OR_INVERT&quot;</span>     : wx.OR_INVERT,     <span class="comment"># (NOT src) OR dst</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="stringliteral">&quot;OR_REVERSE&quot;</span>    : wx.OR_REVERSE,    <span class="comment"># src OR (NOT dst)</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="stringliteral">&quot;SET&quot;</span>           : wx.SET,           <span class="comment"># 1</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="stringliteral">&quot;SRC_INVERT&quot;</span>    : wx.SRC_INVERT,    <span class="comment"># NOT src</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="stringliteral">&quot;XOR&quot;</span>           : wx.XOR,           <span class="comment"># src XOR dst</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        }</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;BrushFillStyleList = {</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="stringliteral">&quot;TRANSPARENT&quot;</span>    : wx.TRANSPARENT,</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="stringliteral">&quot;SOLID&quot;</span>          : wx.SOLID,</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="stringliteral">&quot;BDIAGONAL_HATCH&quot;</span>: wx.BDIAGONAL_HATCH,</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="stringliteral">&quot;CROSSDIAG_HATCH&quot;</span> : wx.CROSSDIAG_HATCH,</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="stringliteral">&quot;FDIAGONAL_HATCH&quot;</span>: wx.FDIAGONAL_HATCH,</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="stringliteral">&quot;CROSS_HATCH&quot;</span>     : wx.CROSS_HATCH,</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="stringliteral">&quot;HORIZONTAL_HATCH&quot;</span>: wx.HORIZONTAL_HATCH,</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="stringliteral">&quot;VERTICAL_HATCH&quot;</span>  : wx.VERTICAL_HATCH</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        }</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">class </span>Canvas(Control):</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="stringliteral">&quot;&quot;&quot;</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="stringliteral">    A double-bufferd bitmap drawing area.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="stringliteral">    &quot;&quot;&quot;</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    _wx_class = wx.Window</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    _style = wx.NO_FULL_REPAINT_ON_RESIZE | wx.CLIP_SIBLINGS</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    _image = images.image</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a44648c60a682419411d7e64095cc924e">   74</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a44648c60a682419411d7e64095cc924e">__init__</a>(self, parent=None, **kwargs):</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a> = <span class="keyword">True</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a017a54d2eaeeb9dd444e8fe4aa96acc4">_drawing_in_progress</a> = <span class="keyword">False</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> = <span class="keywordtype">None</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        </div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a> = kwargs[<span class="stringliteral">&#39;size&#39;</span>]</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="comment"># create offscreen buffer where drawing occurs</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        bitmap = wx.EmptyBitmap(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1])</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> = wx.MemoryDC()</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        self._buf_image.SelectObject(bitmap)</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        del bitmap</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        Control.__init__(</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;            self,</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;            parent,</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;            **kwargs </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;            )</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a> = self.wx_obj.GetClientSize()</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        self.wx_obj.Bind(wx.EVT_PAINT, self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa233495d1dfaefd79ac5596b78be9180">_OnPaint</a>)</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        self.wx_obj.Bind(wx.EVT_SIZE, self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4662b4276d8000f8ff5d7c39245949c1">_OnSize</a>)</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        self.wx_obj.Bind(wx.EVT_WINDOW_DESTROY, self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa3e15f7ef99aed13e116f01e3f12adc8">_OnDestroy</a>)</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6af9fc0090b1cebb6f038962975ccdbd">backgroundColor</a> = (255, 255, 255)  <span class="comment"># &#39;white&#39;</span></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ae3c8708d954b62b1b58b367d709b56e7">clear</a>()</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a073b0342a5ff6333d2a855f84ae2c99e">_set_fgcolor</a>((0,0,0))       <span class="comment"># &#39;black&#39;</span></div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <span class="comment"># these are the defaults for a new MemoryDC</span></div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a376bb5c8cde459637608c3b1989ac1d5">_fill_color</a> = <span class="stringliteral">&#39;WHITE&#39;</span></div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a72442829444d186fe9297a2c3847b8ca">_fill_mode</a> = <span class="stringliteral">&#39;SOLID&#39;</span></div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ab070c169fd88cfdec7a6099e2cb76fa2">_logical_copy_mode</a> = <span class="stringliteral">&#39;COPY&#39;</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa3e15f7ef99aed13e116f01e3f12adc8">  107</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa3e15f7ef99aed13e116f01e3f12adc8">_OnDestroy</a>(self, event):</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="comment"># memory leak cleanup</span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> = <span class="keywordtype">None</span></div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a> = <span class="keywordtype">None</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">_pen</a> = <span class="keywordtype">None</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        event.Skip()</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa5bc52cb1285b4e3e438f64be6d0955b">  114</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa5bc52cb1285b4e3e438f64be6d0955b">_get_logical_copy_mode</a>(self):</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ab070c169fd88cfdec7a6099e2cb76fa2">_logical_copy_mode</a></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a9421d1ec733caa9cecc5be3af9e66fad">  117</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a9421d1ec733caa9cecc5be3af9e66fad">_set_logical_copy_mode</a>(self, logical_copy_mode):</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keywordflow">if</span> logical_copy_mode:</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;            self._buf_image.SetLogicalFunction(LogicalCopyModes[logical_copy_mode.upper()])</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac258838e57809fe69481202d15737254">  121</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac258838e57809fe69481202d15737254">_get_bgcolor</a>(self):</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;            brush = self._buf_image.GetBackground()</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            <span class="keywordflow">return</span> brush.GetColour()</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5e016edf8ec585df9bfc495c7efa1e77">  126</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5e016edf8ec585df9bfc495c7efa1e77">_set_bgcolor</a>(self, color):</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        color = self._get_default_color(color)</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span> <span class="keywordflow">and</span> color:</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            brush = self._buf_image.GetBackground()</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;            brush.SetColour(color)</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;            self._buf_image.SetBackground(brush)</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ad24d23648eec25d9553c5a98ace2e2e4">  133</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ad24d23648eec25d9553c5a98ace2e2e4">_get_fill_color</a>(self):</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a376bb5c8cde459637608c3b1989ac1d5">_fill_color</a></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a0b1167861ade1a925f4542a925566c7e">  136</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a0b1167861ade1a925f4542a925566c7e">_set_fill_color</a>(self, color):</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        aColor = self._get_default_color(color)</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span> <span class="keywordflow">and</span> color:</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;            <span class="comment"># KEA 2004-03-01</span></div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            <span class="comment"># updated to work with wxPython 2.4.x</span></div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;            <span class="comment"># and wxPython 2.5.x</span></div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            <span class="comment"># need to double-check other places copies of pen and brush</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;            <span class="comment"># are manipulated in the rest of the framework and samples!!!</span></div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;            nb = wx.Brush(color)</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;            ob = self._buf_image.GetBrush()</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;            <span class="keywordflow">if</span> ob.Ok():</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                nb.SetStyle(ob.GetStyle())</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                s = ob.GetStipple()</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                <span class="keywordflow">if</span> s.Ok():</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                    nb.SetStipple(s)</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            self._buf_image.SetBrush(nb)</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6b6a5bbcc9c585187de3b77ee61e7519">  153</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6b6a5bbcc9c585187de3b77ee61e7519">_get_fill_mode</a>(self):</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a72442829444d186fe9297a2c3847b8ca">_fill_mode</a></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2115295fef04d8ed9a1aa1d48c07140d">  156</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2115295fef04d8ed9a1aa1d48c07140d">_set_fill_mode</a>(self, fill_style):</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        brush = self._buf_image.GetBrush()</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <span class="keywordflow">if</span> fill_style:</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;            brush.SetStyle(BrushFillStyleList[fill_style.upper()])</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;            self._buf_image.SetBrush(brush)            </div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac789edd6c3d0095d5c6ea7d7dfd455ae">  162</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac789edd6c3d0095d5c6ea7d7dfd455ae">_get_fgcolor</a>(self):</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a></div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a073b0342a5ff6333d2a855f84ae2c99e">  165</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a073b0342a5ff6333d2a855f84ae2c99e">_set_fgcolor</a>(self, color):</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        color = self._get_default_color(color)</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a> = color</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="comment">#self._pen.SetCap(wx.CAP_PROJECTING)</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span> <span class="keywordflow">and</span> color:</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;            self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">_pen</a> = wx.Pen(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a>, self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a98cc00e863227f2d2eb8c7ddb31484dd">_thickness</a>, wx.SOLID)</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;            self._buf_image.SetPen(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">_pen</a>)</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;            self._buf_image.SetTextForeground(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a>)</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac408b651c504b917baad405c147aa706">  174</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac408b651c504b917baad405c147aa706">_get_thickness</a>(self):</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a98cc00e863227f2d2eb8c7ddb31484dd">_thickness</a></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a805090222025f913e0cc9de9a21ae6d2">  177</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a805090222025f913e0cc9de9a21ae6d2">_set_thickness</a>(self, thickness):</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a98cc00e863227f2d2eb8c7ddb31484dd">_thickness</a> = thickness</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span> <span class="keywordflow">and</span> thickness <span class="keywordflow">and</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a>:</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;            self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">_pen</a> = wx.Pen(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a>, self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a98cc00e863227f2d2eb8c7ddb31484dd">_thickness</a>, wx.SOLID)</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;            self._buf_image.SetPen(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">_pen</a>)</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;            self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">_pen</a> = <span class="keywordtype">None</span></div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a7e2f99f2869fb36e28616c6e1d34ae96">  185</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a7e2f99f2869fb36e28616c6e1d34ae96">_get_font</a>(self):</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#acb7bb449b33eb2b9cd772ae6dc20b130">_font</a> <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;            desc = font.fontDescription(self.wx_obj.GetFont())</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;            self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#acb7bb449b33eb2b9cd772ae6dc20b130">_font</a> = <a class="code" href="../../d4/ddc/classgui_1_1font_1_1Font.html">font.Font</a>(desc)</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keywordflow">return</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#acb7bb449b33eb2b9cd772ae6dc20b130">_font</a></div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac322c50334af3eb6cd12071df6d5925c">  191</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac322c50334af3eb6cd12071df6d5925c">_set_font</a>(self, font):</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">if</span> isinstance(font, dict):</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;            font = <a class="code" href="../../d4/ddc/classgui_1_1font_1_1Font.html">font.Font</a>(font, parent=self)</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <span class="keywordflow">elif</span> font <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>: <span class="comment"># Bind the font to this widget.</span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;            font._parent = self</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#acb7bb449b33eb2b9cd772ae6dc20b130">_font</a> = font</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keywordflow">if</span> font:</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;            self._buf_image.SetFont(font.get_wx_font())</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment"># when we Blit to the &quot;window&quot;, we&#39;re actually blitting to the</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="comment"># offscreen bitmap and then that is blitted onscreen in the same</span></div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="comment"># operation</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a85eb7231178a3542a87eeac58c691c44">blit</a>(self, destXY, widthHeight, source, srcXY,</div>
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a85eb7231178a3542a87eeac58c691c44">  205</a></span>&#160;             logicalFunc=wx.COPY, useMask=<span class="keyword">False</span>): <span class="comment">#, xsrcMask=-1, ysrcMask=-1):</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        self._buf_image.BlitPointSize(destXY, widthHeight, source, srcXY,</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                            logicalFunc, useMask) <span class="comment">#, xsrcMask, ysrcMask)</span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ae3c8708d954b62b1b58b367d709b56e7">  212</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ae3c8708d954b62b1b58b367d709b56e7">clear</a>(self):</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        self._buf_image.Clear()</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="comment"># this is poorly named, it should be DrawAxis</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a82c4a161902b63cd00df9f7b7d93e1f3">  219</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a82c4a161902b63cd00df9f7b7d93e1f3">draw_axis</a>(self, xy):</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        self._buf_image.CrossHairPoint(xy)</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1d1c0a200480219b361dd44c33a59127">  225</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1d1c0a200480219b361dd44c33a59127">draw_arc</a>(self, x1y1, x2y2, xcyc):</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="stringliteral">&quot;&quot;&quot;</span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="stringliteral">        Draws an arc of a circle, centered on (xc, yc), with starting</span></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="stringliteral">        point (x1, y1) and ending at (x2, y2). The current pen is used</span></div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="stringliteral">        for the outline and the current brush for filling the shape.</span></div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="stringliteral"></span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="stringliteral">        The arc is drawn in an anticlockwise direction from the start</span></div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="stringliteral">        point to the end point.</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="stringliteral">        &quot;&quot;&quot;</span></div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        self._buf_image.DrawArcPoint(x1y1, x2y2, xcyc)</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="comment"># doesn&#39;t exist in wxMemoryDC</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="comment">#def DrawCheckMark(self, xy, widthHeight):</span></div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="comment">#    self._buf_image.DrawCheckMark(xy, widthHeight)</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="comment">#    if self.auto_refresh: self.refresh()</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1305aff314221e4e9a07d8689f00f051">  245</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1305aff314221e4e9a07d8689f00f051">draw_bitmap</a>(self, aBitmap, xy=(0, 0), transparency=1):</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <span class="keywordflow">if</span> isinstance(aBitmap, <a class="code" href="../../dd/d51/classgui_1_1graphic_1_1Bitmap.html">graphic.Bitmap</a>):</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;            bmp = aBitmap.getBits()</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keywordflow">elif</span> isinstance(aBitmap, wx.Bitmap):</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;            bmp = aBitmap            </div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keywordflow">elif</span> isinstance(aBitmap, wx.Image):</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;            bmp = wx.BitmapFromImage(aBitmap)</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keywordflow">elif</span> PIL_FOUND <span class="keywordflow">and</span> isinstance(aBitmap, Image.Image):</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;            bmp = wx.BitmapFromImage(graphic.PILToImage(aBitmap))</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keywordflow">elif</span> NUMERIC_FOUND <span class="keywordflow">and</span> isinstance(aBitmap, ArrayType):</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;            bmp = wx.BitmapFromImage(graphic.numericArrayToImage(aBitmap))</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;            <span class="keywordflow">return</span></div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        self._buf_image.DrawBitmapPoint(bmp, xy, transparency)</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4ac997b232d168e429aa21c6aab7e6bc">  264</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4ac997b232d168e429aa21c6aab7e6bc">draw_bitmap_scaled</a>(self, aBitmap, xy, size, transparency=1):</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">if</span> isinstance(aBitmap, <a class="code" href="../../dd/d51/classgui_1_1graphic_1_1Bitmap.html">graphic.Bitmap</a>):</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;            img = wx.ImageFromBitmap(aBitmap.getBits())</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <span class="keywordflow">elif</span> isinstance(aBitmap, wx.Bitmap):</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;            img = wx.ImageFromBitmap(aBitmap)</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        <span class="keywordflow">elif</span> isinstance(aBitmap, wx.Image):</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;            img = aBitmap</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <span class="keywordflow">elif</span> PIL_FOUND <span class="keywordflow">and</span> isinstance(aBitmap, Image.Image):</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            img = graphic.PILToImage(aBitmap)</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        <span class="keywordflow">elif</span> NUMERIC_FOUND <span class="keywordflow">and</span> isinstance(aBitmap, ArrayType):</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;            img = graphic.numericArrayToImage(aBitmap)</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keywordflow">else</span>:</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;            <span class="keywordflow">return</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        bmp = wx.BitmapFromImage(img.Scale(size[0], size[1]))</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        self._buf_image.DrawBitmapPoint(bmp, xy, transparency)</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#abf812cbede1312db62d468d70a061263">  284</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#abf812cbede1312db62d468d70a061263">draw_circle</a>(self, xy, radius):</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        self._buf_image.DrawCirclePoint(xy, radius)</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a426eb450c4addc3e713fbadcc21d5ba9">  290</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a426eb450c4addc3e713fbadcc21d5ba9">draw_ellipse</a>(self, xy, widthHeight):</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        self._buf_image.DrawEllipsePointSize(xy, widthHeight)</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5cf1939c4768565c33278e9089c98d06">  296</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5cf1939c4768565c33278e9089c98d06">draw_elliptic_arc</a>(self, xy, widthHeight, startEnd):</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        self._buf_image.DrawEllipticArcPointSize(xy, widthHeight, startEnd)</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a077f2505d4456fde72e25c2be91e48fc">  302</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a077f2505d4456fde72e25c2be91e48fc">draw_icon</a>(self, aIcon, xy):</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        self._buf_image.DrawIconPoint(aIcon, xy)</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa5012bbac17b92cca26e08656157a53a">  308</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa5012bbac17b92cca26e08656157a53a">draw_line</a>(self, startXY, endXY):</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        self._buf_image.DrawLinePoint(startXY, endXY)</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ad5b5b32e7fff771f26bf984aaefb58c5">  314</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ad5b5b32e7fff771f26bf984aaefb58c5">draw_lines</a>(self, pointsList):</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        self._buf_image.DrawLines(pointsList)</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a7e5af8e70d68301f98bafa5ea7652551">  320</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a7e5af8e70d68301f98bafa5ea7652551">draw_point</a>(self, xy):</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        self._buf_image.DrawPointPoint(xy)</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div>
<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aaf756890e8537fbe14f1c577c9c87406">  326</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aaf756890e8537fbe14f1c577c9c87406">draw_polygon</a>(self, pointsList):</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        self._buf_image.DrawPolygon(pointsList)</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div>
<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a9b8099daa55e382d043d8ac93e6d7c49">  332</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a9b8099daa55e382d043d8ac93e6d7c49">draw_rectangle</a>(self, xy, widthHeight):</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        self._buf_image.DrawRectanglePointSize(xy, widthHeight)</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5d9fb94137bcb21a2e005e2212d613db">  338</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5d9fb94137bcb21a2e005e2212d613db">draw_point_list</a>(self, points, pens=None):</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        self._buf_image.DrawPointList(points, pens)</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="comment"># KEA 2003-03-14</span></div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="comment"># need to add other DrawXXXList methods once we are</span></div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="comment"># requiring wxPython 2.4.0.6 or higher</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aabab0160122386c99279c5a13ae82c8b">  347</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aabab0160122386c99279c5a13ae82c8b">draw_rectangle_list</a>(self, rects, pens=None, brushes=None):</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        self._buf_image.DrawRectangleList(rects, pens, brushes)</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div>
<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6a4c2d9dc0d990c7b85eb252a0199a6b">  353</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6a4c2d9dc0d990c7b85eb252a0199a6b">draw_rotated_text</a>(self, aString, xy, angle):</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        self._buf_image.DrawRotatedTextPoint(aString, xy, angle)</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4fd6c42ce89401a5419bff69984a08d8">  359</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4fd6c42ce89401a5419bff69984a08d8">draw_rounded_rectangle</a>(self, xy, widthHeight, radius):</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        self._buf_image.DrawRoundedRectanglePointSize(xy, widthHeight, radius)</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div>
<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac4bcfb0cbfdfcbb586ec3ab404774462">  365</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac4bcfb0cbfdfcbb586ec3ab404774462">draw_spline</a>(self, pointsList):</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        self._buf_image.DrawSpline(pointsList)</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div>
<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a530d4d04cb4484bc03774e8c0b505ce9">  371</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a530d4d04cb4484bc03774e8c0b505ce9">draw_line_list</a>(self, lines, pens=None):</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        self._buf_image.DrawLineList(lines, pens)</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div>
<div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ace37cc70a35f99452d1c840c697efd52">  377</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ace37cc70a35f99452d1c840c697efd52">draw_text</a>(self, aString, xy):</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        self._buf_image.DrawTextPoint(aString, xy)</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    <span class="comment"># KEA 2002-03-31 this doesn&#39;t seem to work</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a63f0ac476f0dfcf31529468e9c75fe9f">  384</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a63f0ac476f0dfcf31529468e9c75fe9f">flood_fill</a>(self, xy, colour, style=wx.FLOOD_SURFACE):</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        self._buf_image.FloodFillPoint(xy, colour, style)</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <span class="keywordflow">if</span> self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a>:</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;            dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;            dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div>
<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aec9cf05bc196d415bbfe253e4a0ed980">  390</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aec9cf05bc196d415bbfe253e4a0ed980">get_pixel</a>(self, xy):</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="keywordflow">return</span> self._buf_image.GetPixelPoint(xy)</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div>
<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ab6b46451374d9c284254c5cb092220d1">  393</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ab6b46451374d9c284254c5cb092220d1">get_text_extent</a>(self, aString):</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keywordflow">return</span> self._buf_image.GetTextExtent(aString)</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a32c479d3f2c11aea847ca949095ab736">  396</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a32c479d3f2c11aea847ca949095ab736">get_full_text_extent</a>(self, aString):</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <span class="keywordflow">return</span> self._buf_image.GetFullTextExtent(aString)</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div>
<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a10087fa35fd33fd2f3237e23ee7421a3">  399</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a10087fa35fd33fd2f3237e23ee7421a3">refresh</a>(self, enableAutoRefresh=False):</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        <span class="keywordflow">if</span> enableAutoRefresh:</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;            self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">auto_refresh</a> = <span class="keyword">True</span></div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        dc = wx.ClientDC(self.wx_obj)</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        dc.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        <span class="comment"># KEA 2005-03-26</span></div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        <span class="comment"># this is necessary to force a screen update on the Mac</span></div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        <span class="keywordflow">if</span> wx.Platform == <span class="stringliteral">&#39;__WXMAC__&#39;</span>:</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;            <span class="comment">#self.canvas.Refresh()</span></div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;            self.wx_obj.Update()</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div>
<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa233495d1dfaefd79ac5596b78be9180">  410</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa233495d1dfaefd79ac5596b78be9180">_OnPaint</a>(self, evt):</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        <span class="comment">#starttime = time.time()</span></div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        rect = self.wx_obj.GetUpdateRegion().GetBox()</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="comment">#print &quot;OnPaint&quot;, rect</span></div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        dc = wx.PaintDC(self.wx_obj)</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        <span class="comment">#dc.BlitPointSize((0, 0), (self._size[0], self._size[1]), self._buf_image, (0, 0))</span></div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        dc.BlitPointSize((rect[0], rect[1]), (rect[2], rect[3]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (rect[0], rect[1]))</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        <span class="comment">#stoptime = time.time()</span></div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        <span class="comment">#elapsed = stoptime - starttime</span></div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        <span class="comment">#print &quot;OnPaint time: %f seconds&quot; % (elapsed)</span></div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div>
<div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa011fe6842528f85d2782bbc796e10e9">  421</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa011fe6842528f85d2782bbc796e10e9">resize_buffer</a>(self, size):</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        brush = self._buf_image.GetBackground()</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        bitmap = wx.EmptyBitmap(size[0], size[1])</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        _buf_image = wx.MemoryDC()</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        _buf_image.SelectObject(bitmap)</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        del bitmap</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        _buf_image.SetBackground(brush)</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        _buf_image.SetPen(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">_pen</a>)</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        aWxFont = self._getFont()._getFont()</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        _buf_image.SetFont(aWxFont)</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;        _buf_image.SetTextForeground(self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">_pen_color</a>)</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        _buf_image.Clear()</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        _buf_image.BlitPointSize((0, 0), (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1]), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, (0, 0))</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        </div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a> = size</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        <span class="comment">#self._buf_image.SelectObject(wx.NullBitmap)</span></div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a> = _buf_image</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="comment"># need to copy the old bitmap</span></div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <span class="comment"># before resizing</span></div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="comment"># plus the various pen attributes</span></div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="comment"># there is probably a memory leak in the code below</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4662b4276d8000f8ff5d7c39245949c1">  444</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4662b4276d8000f8ff5d7c39245949c1">_OnSize</a>(self, evt):</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        size = self.wx_obj.GetClientSizeTuple()</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="comment">#print &quot;OnSize&quot;, size, self._size</span></div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="keywordflow">if</span> size == (0, 0) <span class="keywordflow">or</span> <span class="keywordflow">not</span> self._pen.GetColour().Ok():</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;            evt.Skip()</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;            <span class="keywordflow">return</span></div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        <span class="keywordflow">try</span>:</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;            <span class="comment"># in case self._buf_image hasn&#39;t been initialized</span></div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;            brush = self._buf_image.GetBackground()</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        <span class="keywordflow">except</span>:</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;            evt.Skip()</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;            <span class="keywordflow">return</span></div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="comment"># KEA 2002-03-30</span></div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        <span class="comment"># only resize the offscreen bitmap when the onscreen window gets</span></div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;        <span class="comment"># larger than the offscreen bitmap</span></div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="comment">#minX = min(size[0], self._size[0])</span></div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="comment">#minY = min(size[1], self._size[1])</span></div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        maxX = max(size[0], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0])</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        maxY = max(size[1], self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1])</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        <span class="comment">#print minX, minY, maxX, maxY</span></div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <span class="keywordflow">if</span> (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[0] &lt; maxX) <span class="keywordflow">or</span> (self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">_size</a>[1] &lt; maxY):</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;            self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa011fe6842528f85d2782bbc796e10e9">resize_buffer</a>((maxX, maxY))</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;            evt.Skip()</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div>
<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1c34eacf09c9840a2174c5a33ea0dea8">  470</a></span>&#160;    <span class="keyword">def </span><a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1c34eacf09c9840a2174c5a33ea0dea8">get_bitmap</a>(self, xy=(0, 0), widthHeight=(-1, -1)):</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        w, h = self.wx_obj.GetClientSizeTuple()</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        <span class="keywordflow">if</span> widthHeight[0] != -1:</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;            w = widthHeight[0]</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        <span class="keywordflow">if</span> widthHeight[1] != -1:</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;            h = widthHeight[1]</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        memory = wx.MemoryDC()</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        bitmap = wx.EmptyBitmap(w, h)</div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        memory.SelectObject(bitmap)</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        memory.BlitPointSize((0, 0), (w, h), self.<a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">_buf_image</a>, xy)</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        memory.SelectObject(wx.NullBitmap)</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        <span class="keywordflow">return</span> bitmap</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    bgcolor = Spec(_get_bgcolor, _set_bgcolor, type=<span class="stringliteral">&#39;colour&#39;</span>)</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    fill_color = Spec(_get_fill_color, _set_fill_color)</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    fill_mode = Spec(_get_fill_mode, _set_fill_mode)</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    font = Spec(_get_font, _set_font)</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    fgcolor = Spec(_get_fgcolor, _set_fgcolor, type=<span class="stringliteral">&#39;colour&#39;</span>)</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    logical_copy_mode = Spec(_get_logical_copy_mode, _set_logical_copy_mode)</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    thickness = Spec(_get_thickness, _set_thickness, default=1, type=<span class="stringliteral">&quot;integer&quot;</span>)</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="keywordflow">if</span> __name__ == <span class="stringliteral">&quot;__main__&quot;</span>:</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    <span class="comment"># basic test until unit_test</span></div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    app = wx.App(redirect=<span class="keyword">False</span>)</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    frame = wx.Frame(<span class="keywordtype">None</span>)    </div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    c = <a class="code" href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html">Canvas</a>(frame, name=<span class="stringliteral">&#39;canvas&#39;</span>, size=(30,30))</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    c.draw_line((10, 10), (20, 20))</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    c.onmousemove = <span class="stringliteral">&quot;print &#39;moving...&#39;&quot;</span></div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    frame.Show()</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    app.MainLoop()</div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a017a54d2eaeeb9dd444e8fe4aa96acc4"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a017a54d2eaeeb9dd444e8fe4aa96acc4">gui.controls.canvas.Canvas._drawing_in_progress</a></div><div class="ttdeci">_drawing_in_progress</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00076">canvas.py:76</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ac8523f753b1e5ad71759cd9254ba2698"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac8523f753b1e5ad71759cd9254ba2698">gui.controls.canvas.Canvas._pen</a></div><div class="ttdeci">_pen</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00111">canvas.py:111</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aa3e15f7ef99aed13e116f01e3f12adc8"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa3e15f7ef99aed13e116f01e3f12adc8">gui.controls.canvas.Canvas._OnDestroy</a></div><div class="ttdeci">def _OnDestroy</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00107">canvas.py:107</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a7e5af8e70d68301f98bafa5ea7652551"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a7e5af8e70d68301f98bafa5ea7652551">gui.controls.canvas.Canvas.draw_point</a></div><div class="ttdeci">def draw_point</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00320">canvas.py:320</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a10087fa35fd33fd2f3237e23ee7421a3"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a10087fa35fd33fd2f3237e23ee7421a3">gui.controls.canvas.Canvas.refresh</a></div><div class="ttdeci">def refresh</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00399">canvas.py:399</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a0b1167861ade1a925f4542a925566c7e"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a0b1167861ade1a925f4542a925566c7e">gui.controls.canvas.Canvas._set_fill_color</a></div><div class="ttdeci">def _set_fill_color</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00136">canvas.py:136</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aa5012bbac17b92cca26e08656157a53a"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa5012bbac17b92cca26e08656157a53a">gui.controls.canvas.Canvas.draw_line</a></div><div class="ttdeci">def draw_line</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00308">canvas.py:308</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a2b2b35a0db02856fb3edb78458cbb5b2"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2b2b35a0db02856fb3edb78458cbb5b2">gui.controls.canvas.Canvas._pen_color</a></div><div class="ttdeci">_pen_color</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00110">canvas.py:110</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a50e0ab4fb07f6f205304232dfb510e93"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a50e0ab4fb07f6f205304232dfb510e93">gui.controls.canvas.Canvas._buf_image</a></div><div class="ttdeci">_buf_image</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00077">canvas.py:77</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a832f386fee817b55a5777dac1781a9f0"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a832f386fee817b55a5777dac1781a9f0">gui.controls.canvas.Canvas._size</a></div><div class="ttdeci">_size</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00079">canvas.py:79</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a85eb7231178a3542a87eeac58c691c44"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a85eb7231178a3542a87eeac58c691c44">gui.controls.canvas.Canvas.blit</a></div><div class="ttdeci">def blit</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00205">canvas.py:205</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a72442829444d186fe9297a2c3847b8ca"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a72442829444d186fe9297a2c3847b8ca">gui.controls.canvas.Canvas._fill_mode</a></div><div class="ttdeci">_fill_mode</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00103">canvas.py:103</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ac408b651c504b917baad405c147aa706"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac408b651c504b917baad405c147aa706">gui.controls.canvas.Canvas._get_thickness</a></div><div class="ttdeci">def _get_thickness</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00174">canvas.py:174</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ace37cc70a35f99452d1c840c697efd52"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ace37cc70a35f99452d1c840c697efd52">gui.controls.canvas.Canvas.draw_text</a></div><div class="ttdeci">def draw_text</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00377">canvas.py:377</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a1305aff314221e4e9a07d8689f00f051"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1305aff314221e4e9a07d8689f00f051">gui.controls.canvas.Canvas.draw_bitmap</a></div><div class="ttdeci">def draw_bitmap</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00245">canvas.py:245</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ab6b46451374d9c284254c5cb092220d1"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ab6b46451374d9c284254c5cb092220d1">gui.controls.canvas.Canvas.get_text_extent</a></div><div class="ttdeci">def get_text_extent</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00393">canvas.py:393</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a1d1c0a200480219b361dd44c33a59127"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1d1c0a200480219b361dd44c33a59127">gui.controls.canvas.Canvas.draw_arc</a></div><div class="ttdeci">def draw_arc</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00225">canvas.py:225</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a4ac997b232d168e429aa21c6aab7e6bc"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4ac997b232d168e429aa21c6aab7e6bc">gui.controls.canvas.Canvas.draw_bitmap_scaled</a></div><div class="ttdeci">def draw_bitmap_scaled</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00264">canvas.py:264</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a82c4a161902b63cd00df9f7b7d93e1f3"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a82c4a161902b63cd00df9f7b7d93e1f3">gui.controls.canvas.Canvas.draw_axis</a></div><div class="ttdeci">def draw_axis</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00219">canvas.py:219</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aa011fe6842528f85d2782bbc796e10e9"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa011fe6842528f85d2782bbc796e10e9">gui.controls.canvas.Canvas.resize_buffer</a></div><div class="ttdeci">def resize_buffer</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00421">canvas.py:421</a></div></div>
<div class="ttc" id="classgui_1_1font_1_1Font_html"><div class="ttname"><a href="../../d4/ddc/classgui_1_1font_1_1Font.html">gui.font.Font</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/d1e/build_2lib_8linux-x86__64-2_87_2gui_2font_8py_source.html#l00017">font.py:17</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a44648c60a682419411d7e64095cc924e"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a44648c60a682419411d7e64095cc924e">gui.controls.canvas.Canvas.__init__</a></div><div class="ttdeci">def __init__</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00074">canvas.py:74</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a6a4c2d9dc0d990c7b85eb252a0199a6b"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6a4c2d9dc0d990c7b85eb252a0199a6b">gui.controls.canvas.Canvas.draw_rotated_text</a></div><div class="ttdeci">def draw_rotated_text</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00353">canvas.py:353</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html">gui.controls.canvas.Canvas</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00065">canvas.py:65</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a6b6a5bbcc9c585187de3b77ee61e7519"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6b6a5bbcc9c585187de3b77ee61e7519">gui.controls.canvas.Canvas._get_fill_mode</a></div><div class="ttdeci">def _get_fill_mode</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00153">canvas.py:153</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aaf756890e8537fbe14f1c577c9c87406"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aaf756890e8537fbe14f1c577c9c87406">gui.controls.canvas.Canvas.draw_polygon</a></div><div class="ttdeci">def draw_polygon</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00326">canvas.py:326</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aabab0160122386c99279c5a13ae82c8b"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aabab0160122386c99279c5a13ae82c8b">gui.controls.canvas.Canvas.draw_rectangle_list</a></div><div class="ttdeci">def draw_rectangle_list</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00347">canvas.py:347</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a073b0342a5ff6333d2a855f84ae2c99e"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a073b0342a5ff6333d2a855f84ae2c99e">gui.controls.canvas.Canvas._set_fgcolor</a></div><div class="ttdeci">def _set_fgcolor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00165">canvas.py:165</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ac789edd6c3d0095d5c6ea7d7dfd455ae"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac789edd6c3d0095d5c6ea7d7dfd455ae">gui.controls.canvas.Canvas._get_fgcolor</a></div><div class="ttdeci">def _get_fgcolor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00162">canvas.py:162</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aa233495d1dfaefd79ac5596b78be9180"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa233495d1dfaefd79ac5596b78be9180">gui.controls.canvas.Canvas._OnPaint</a></div><div class="ttdeci">def _OnPaint</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00410">canvas.py:410</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a077f2505d4456fde72e25c2be91e48fc"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a077f2505d4456fde72e25c2be91e48fc">gui.controls.canvas.Canvas.draw_icon</a></div><div class="ttdeci">def draw_icon</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00302">canvas.py:302</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a9421d1ec733caa9cecc5be3af9e66fad"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a9421d1ec733caa9cecc5be3af9e66fad">gui.controls.canvas.Canvas._set_logical_copy_mode</a></div><div class="ttdeci">def _set_logical_copy_mode</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00117">canvas.py:117</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a5d9fb94137bcb21a2e005e2212d613db"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5d9fb94137bcb21a2e005e2212d613db">gui.controls.canvas.Canvas.draw_point_list</a></div><div class="ttdeci">def draw_point_list</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00338">canvas.py:338</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a4662b4276d8000f8ff5d7c39245949c1"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4662b4276d8000f8ff5d7c39245949c1">gui.controls.canvas.Canvas._OnSize</a></div><div class="ttdeci">def _OnSize</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00444">canvas.py:444</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ac4bcfb0cbfdfcbb586ec3ab404774462"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac4bcfb0cbfdfcbb586ec3ab404774462">gui.controls.canvas.Canvas.draw_spline</a></div><div class="ttdeci">def draw_spline</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00365">canvas.py:365</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ae3c8708d954b62b1b58b367d709b56e7"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ae3c8708d954b62b1b58b367d709b56e7">gui.controls.canvas.Canvas.clear</a></div><div class="ttdeci">def clear</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00212">canvas.py:212</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ac258838e57809fe69481202d15737254"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac258838e57809fe69481202d15737254">gui.controls.canvas.Canvas._get_bgcolor</a></div><div class="ttdeci">def _get_bgcolor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00121">canvas.py:121</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_acb7bb449b33eb2b9cd772ae6dc20b130"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#acb7bb449b33eb2b9cd772ae6dc20b130">gui.controls.canvas.Canvas._font</a></div><div class="ttdeci">_font</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00188">canvas.py:188</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a805090222025f913e0cc9de9a21ae6d2"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a805090222025f913e0cc9de9a21ae6d2">gui.controls.canvas.Canvas._set_thickness</a></div><div class="ttdeci">def _set_thickness</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00177">canvas.py:177</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ab070c169fd88cfdec7a6099e2cb76fa2"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ab070c169fd88cfdec7a6099e2cb76fa2">gui.controls.canvas.Canvas._logical_copy_mode</a></div><div class="ttdeci">_logical_copy_mode</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00104">canvas.py:104</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a1c34eacf09c9840a2174c5a33ea0dea8"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a1c34eacf09c9840a2174c5a33ea0dea8">gui.controls.canvas.Canvas.get_bitmap</a></div><div class="ttdeci">def get_bitmap</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00470">canvas.py:470</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a32c479d3f2c11aea847ca949095ab736"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a32c479d3f2c11aea847ca949095ab736">gui.controls.canvas.Canvas.get_full_text_extent</a></div><div class="ttdeci">def get_full_text_extent</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00396">canvas.py:396</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a376bb5c8cde459637608c3b1989ac1d5"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a376bb5c8cde459637608c3b1989ac1d5">gui.controls.canvas.Canvas._fill_color</a></div><div class="ttdeci">_fill_color</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00102">canvas.py:102</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a5e016edf8ec585df9bfc495c7efa1e77"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5e016edf8ec585df9bfc495c7efa1e77">gui.controls.canvas.Canvas._set_bgcolor</a></div><div class="ttdeci">def _set_bgcolor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00126">canvas.py:126</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a77b533deb66970649b1f6ffd7eb3f5ad"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a77b533deb66970649b1f6ffd7eb3f5ad">gui.controls.canvas.Canvas.auto_refresh</a></div><div class="ttdeci">auto_refresh</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00075">canvas.py:75</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a530d4d04cb4484bc03774e8c0b505ce9"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a530d4d04cb4484bc03774e8c0b505ce9">gui.controls.canvas.Canvas.draw_line_list</a></div><div class="ttdeci">def draw_line_list</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00371">canvas.py:371</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a63f0ac476f0dfcf31529468e9c75fe9f"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a63f0ac476f0dfcf31529468e9c75fe9f">gui.controls.canvas.Canvas.flood_fill</a></div><div class="ttdeci">def flood_fill</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00384">canvas.py:384</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a6af9fc0090b1cebb6f038962975ccdbd"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a6af9fc0090b1cebb6f038962975ccdbd">gui.controls.canvas.Canvas.backgroundColor</a></div><div class="ttdeci">backgroundColor</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00098">canvas.py:98</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a7e2f99f2869fb36e28616c6e1d34ae96"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a7e2f99f2869fb36e28616c6e1d34ae96">gui.controls.canvas.Canvas._get_font</a></div><div class="ttdeci">def _get_font</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00185">canvas.py:185</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aa5bc52cb1285b4e3e438f64be6d0955b"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aa5bc52cb1285b4e3e438f64be6d0955b">gui.controls.canvas.Canvas._get_logical_copy_mode</a></div><div class="ttdeci">def _get_logical_copy_mode</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00114">canvas.py:114</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a98cc00e863227f2d2eb8c7ddb31484dd"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a98cc00e863227f2d2eb8c7ddb31484dd">gui.controls.canvas.Canvas._thickness</a></div><div class="ttdeci">_thickness</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00178">canvas.py:178</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a4fd6c42ce89401a5419bff69984a08d8"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a4fd6c42ce89401a5419bff69984a08d8">gui.controls.canvas.Canvas.draw_rounded_rectangle</a></div><div class="ttdeci">def draw_rounded_rectangle</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00359">canvas.py:359</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a426eb450c4addc3e713fbadcc21d5ba9"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a426eb450c4addc3e713fbadcc21d5ba9">gui.controls.canvas.Canvas.draw_ellipse</a></div><div class="ttdeci">def draw_ellipse</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00290">canvas.py:290</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ad24d23648eec25d9553c5a98ace2e2e4"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ad24d23648eec25d9553c5a98ace2e2e4">gui.controls.canvas.Canvas._get_fill_color</a></div><div class="ttdeci">def _get_fill_color</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00133">canvas.py:133</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a5cf1939c4768565c33278e9089c98d06"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a5cf1939c4768565c33278e9089c98d06">gui.controls.canvas.Canvas.draw_elliptic_arc</a></div><div class="ttdeci">def draw_elliptic_arc</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00296">canvas.py:296</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_aec9cf05bc196d415bbfe253e4a0ed980"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#aec9cf05bc196d415bbfe253e4a0ed980">gui.controls.canvas.Canvas.get_pixel</a></div><div class="ttdeci">def get_pixel</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00390">canvas.py:390</a></div></div>
<div class="ttc" id="classgui_1_1graphic_1_1Bitmap_html"><div class="ttname"><a href="../../dd/d51/classgui_1_1graphic_1_1Bitmap.html">gui.graphic.Bitmap</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/ddf/build_2lib_8linux-x86__64-2_87_2gui_2graphic_8py_source.html#l00102">graphic.py:102</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ad5b5b32e7fff771f26bf984aaefb58c5"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ad5b5b32e7fff771f26bf984aaefb58c5">gui.controls.canvas.Canvas.draw_lines</a></div><div class="ttdeci">def draw_lines</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00314">canvas.py:314</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a2115295fef04d8ed9a1aa1d48c07140d"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a2115295fef04d8ed9a1aa1d48c07140d">gui.controls.canvas.Canvas._set_fill_mode</a></div><div class="ttdeci">def _set_fill_mode</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00156">canvas.py:156</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_ac322c50334af3eb6cd12071df6d5925c"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#ac322c50334af3eb6cd12071df6d5925c">gui.controls.canvas.Canvas._set_font</a></div><div class="ttdeci">def _set_font</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00191">canvas.py:191</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_abf812cbede1312db62d468d70a061263"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#abf812cbede1312db62d468d70a061263">gui.controls.canvas.Canvas.draw_circle</a></div><div class="ttdeci">def draw_circle</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00284">canvas.py:284</a></div></div>
<div class="ttc" id="classgui_1_1controls_1_1canvas_1_1Canvas_html_a9b8099daa55e382d043d8ac93e6d7c49"><div class="ttname"><a href="../../da/d31/classgui_1_1controls_1_1canvas_1_1Canvas.html#a9b8099daa55e382d043d8ac93e6d7c49">gui.controls.canvas.Canvas.draw_rectangle</a></div><div class="ttdeci">def draw_rectangle</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/build_2lib_8linux-x86__64-2_87_2gui_2controls_2canvas_8py_source.html#l00332">canvas.py:332</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../dir_be831313eee9167e67543a36aa74e60d.html">gui</a></li><li class="navelem"><a class="el" href="../../dir_c9134ecc933fd451a588b777913cb500.html">controls</a></li><li class="navelem"><a class="el" href="../../d7/d52/gui_2controls_2canvas_8py.html">canvas.py</a></li>
    <li class="footer">Generado el Domingo, 7 de Diciembre de 2014 18:59:47 para gui2py por
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
